استفاده از Perl برای تفسیر RegEx در اسکریپ‌نویسی

زیاد پیش میاد موقع نوشتن یه اسکریپت سر و کارمون میافته به عبارات منظم یا همون Regular Excoriationها. و البته گاهی پیش میاد که لازم باشه یه عبارت را از یه فایل استخراج کنید.

در قدم اول ممکنه استفاده از grep -E خیلی کاربردی به نظر بیاد اما وقتی که لازم می‌شه دو بخش از یک عبارت را جدا کرد یا عبارت یخورده از حالت عادی پیش‌رفته‌تر باشه دیگه grep راه‌گشا نیست.

یه ابزار خوب و قوی استفاده از Perl است. ما می‌خواستیم بررسی کنیم که از فایل dump بانک اطلاعات برای چه جداول داده وجود داره. برای این کار از دستوری مشابه این دستور استفاده کردیم:

zcat Backup.sql.gz|perl -ne ‘if (m/^INSERT INTO\s.(?<SS>.{1,40}).\s/){ print “$+{SS}\n”; }’|uniq -c

با اینکار به راحتی لیست همه جدول‌ها با تعداد سطرهایی که توی جدول درج شدند به دست اومد.