When you use a variable inside a string like "This is a string with $var interpolated into it" Perl replaces the variable ($var in this example) with the contents of the variable. However, if you write "$var" you can omit the quotes because the variable will generally be treated as a string in any case.

A variable that starts with $ is a scalar variable. They can only store one thing, a number or a string or a reference to something. $_ is just a special scalar variable that is used by default for some things. At the start of a subroutine you generally should not depend on $_ being set to some expected value. You need to ask yourself "Where is $_ getting a value from and what sort of value is it?". To answer that you need to look at the documentation for, in this case File::Find, and see if it says that $_ is getting set to some value for you. If it doesn't (it doesn't you know), then it ain't.

It may be that you are getting confused with @_, which is the special array variable used to pass parameters into a subroutine. However, again you need to consult the documentation to see what is passed into the subroutine by File::Find. From the documentation you will find that "The wanted function takes no arguments but rather does its work through a collection of variables.". So that doesn't help you either.

Take another look at the code that I wrote and search the File::Find documentation for anything that looks File::Find related that you don't understand. Everything else should be pretty clear. :)


DWIM is Perl's answer to Gödel

In reply to Re^3: No Substitution Happening by GrandFather
in thread No Substitution Happening by coolboarderguy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.