<div dir="ltr"><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102)"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 10 March 2016 at 12:42, Aristotle Pagaltzis <span dir="ltr">&lt;<a href="mailto:pagaltzis@gmx.de" target="_blank">pagaltzis@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">* Chris Welch &lt;<a href="mailto:welch.chris@gmail.com">welch.chris@gmail.com</a>&gt; [2016-03-09 20:10]:<br>
<span class="">&gt; All of this brings up a quandary: there are only two ways around this<br>
&gt; that I can see:<br>
<br>
</span>There’s plenty more. E.g. you could have generate_ical_data expect one<br>
or several callbacks to generate those values for it, something like<br>
<br>
<div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline">​​</div>    $match-&gt;generate_ical_data(<br>
        get_uri         =&gt; sub { $c-&gt;uri_for_action( ... ) },<br>
        get_description =&gt; sub { $c-&gt;maketext( ... ) },<br>
        # ...<br>
    );<div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline">​</div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline">​Oh I very much like that - I *knew* ​I had to be missing a better way of doing it, I bow to your superior ideas, thank you very much.</div></div><div><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline"><br></div></div><div><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline">Thinking about it: any way you would pass in an anonymous sub rather than the return value from the actual methods - i.e.:</div></div><div><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline"><br></div></div><div><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102);display:inline"><div class="gmail_default" style="display:inline">​</div><span style="color:rgb(34,34,34);font-family:arial,sans-serif">    $match-&gt;generate_ical_data(</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif"><span style="color:rgb(34,34,34);font-family:arial,sans-serif">        get_uri         =&gt; $c-&gt;uri_for_action( ... ) ,</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif"><span style="color:rgb(34,34,34);font-family:arial,sans-serif">        get_description =&gt; $c-&gt;maketext( ... ) ,</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif"><span style="color:rgb(34,34,34);font-family:arial,sans-serif">        # ...</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif"><span style="color:rgb(34,34,34);font-family:arial,sans-serif">    );</span><div class="gmail_default" style="display:inline">​</div><br></div></div></div><br></div><div class="gmail_extra"><div class="gmail_default" style="font-family:&#39;trebuchet ms&#39;,sans-serif;color:rgb(0,0,102)">​Thanks again.​</div><br></div></div>