אתה נמצא כאן יסודות השפה  »  ביטויים רגולריים  »  האופרטור ~=

בחירת מטרה שונה - האופרטור ~=

לעיתים לא נרצה לבצע התאמה דווקא למחרוזת שב _$ אלא למחרוזת אחרת.
האופרטור ~= לוקח ביטוי רגולרי בצידו הימני ומחפש התאמה במחרוזת שמשמאלו. האופרטור מחזיר אמת או שקר בהתאם.

$a = "hello world";     # השמת מחרוזת רגילה
$a =~ /^he/ ;
/*שואל האם יש התאמה בין המשתנה לבין הביטוי הרגולרי , זאת אומרת , האם המחרוזת שבמשתנה מתחילה ב he */
    # יוחזר true
$a =~ /(.)\1/ ;
/* שואל האם יש תו כלשהו במחרוזת שחוזר על עצמו, ויחזיר אמת כי הוא מזהה את ה l הכפול */
     # יוחזר true
$a =~ /^(.)\1/ ;
/* שואל כמו מקודם אם יש תו כלשהו שחוזר על עצמו , אך האם התו הכפול הזה נמצא בתחילת המחרוזת , התשובה היא לא */
     # יוחזר false

המטרה משמאלו של ה ~= יכולה להיות כל דבר שמהווה מחרוזת, למשל < STDIN> .

print "Do you want to exit? (yes\no)";
if (<STDIN>=~/^[yY]/
/* האם המחרוזת מתאימה לביטוי הרגולרי שמימין , זאת אומרת , האם היא מתחילה באחת משתי האותיות */
)
    print " Bye-Bye!";

פה ה < STDIN> מוצא את השורה הבאה בקלט, ומייד מחפש התאמה בינה לבין [yY]^.
שימו לב- פה שורת הקלט לא נשמרה.









להוספת תגובה, אנא התחברו לדרכונט.